<?php

require_once '../db/Conexion.php';

//gestiona la accion solicitada 
function accion_controller() {
    $accion = FALSE;
    $pokerPayOut_peticion = helper_data();
    $accion = $pokerPayOut_peticion['accion'];
    if ($accion) {
        switch ($accion) {
            case 'save' :
                guardar($pokerPayOut_peticion);
                break;
            case 'delete' :
                eliminar($pokerPayOut_peticion['id']);
                break;
            case 'list' :
                listar();
                break;
            case 'edit' :
                editar($pokerPayOut_peticion['id']);
                break;
        }
    } else {
        die("ERROR: No se recibieron los parametros correspondientes.");
    }
}

//OBTIENE LOS DATOS DE POST
function helper_data() {
    $pokerPayOut = array();

    if (isset($_POST['id']))
        $pokerPayOut['id'] = $_POST['id'];
    if (isset($_POST['poker_torneo_id']))
        $pokerPayOut['poker_torneo_id'] = strtoupper($_POST['poker_torneo_id']);
    if (isset($_POST['puesto']))
        $pokerPayOut['puesto'] = $_POST['puesto'];
    if (isset($_POST['accion']))
        $pokerPayOut['accion'] = $_POST['accion'];
    
    //SET VALORES (PORCENTUAL O MONTO FIJO
    $porcentaje=0;
    $montoFijo=0;
    $formaPago = "PORC";
    
    if (isset($_POST['formaPago'])) $formaPago = $_POST['formaPago'];
    if (isset($_POST['valor'])) $porcentaje = $_POST['valor'];
    
    if($formaPago === "MONTO") {
        $montoFijo = $porcentaje;
        $porcentaje = 0;
    }
    
    $pokerPayOut['porcentaje'] = $porcentaje ;
    $pokerPayOut['monto_fijo'] = $montoFijo;
    
    return $pokerPayOut;
}

//LISTADO
function listar() {
    $pokerPayOuts = consultar("SELECT * FROM poker_pay_out AS e ORDER BY puesto ASC");
    require_once '../view/pokerPayOut/ListPokerPayOuts.php';
}

function listarByTorneoId($torneo_id) {
  
    $query = "Select * from poker_torneos where id=" . $torneo_id;
    $pokerTorneo = consultar($query);
    $pokerPayOuts = consultar("SELECT * FROM poker_pay_out AS e WHERE e.poker_torneo_id = $torneo_id ORDER BY puesto ASC");
    require_once '../view/pokerPayOut/ListPokerPayOuts.php';
}


//GUARDAR
function guardar($pokerPayOut_peticion) {
    if (!$pokerPayOut_peticion['id']) {
        $query = "INSERT INTO poker_pay_out ( poker_torneo_id, puesto, porcentaje, monto_fijo) VALUES
                        (  " . $pokerPayOut_peticion['poker_torneo_id'] . ",
                           '" . $pokerPayOut_peticion['puesto'] . "',
                           '" . $pokerPayOut_peticion['porcentaje'] . "',      
                           '" . $pokerPayOut_peticion['monto_fijo'] . "');";
    } else {
        $query = "UPDATE poker_pay_out 
                                 SET poker_torneo_id=" . $pokerPayOut_peticion['poker_torneo_id'] . ",
                                     puesto='" . $pokerPayOut_peticion['puesto'] . "',
                                     porcentaje='" . $pokerPayOut_peticion['porcentaje'] . "',
                                     monto_fijo='" . $pokerPayOut_peticion['monto_fijo'] . "'
                                 WHERE id=" . $pokerPayOut_peticion['id'] . " LIMIT 1;";
    }
    if (ejecutar($query)) {
        listarByTorneoId($pokerPayOut_peticion['poker_torneo_id']);
    } else {
        die("Error: No se pudo Guardar el Registro!");
    }
}

//ELIMINAR
function eliminar($id) {
    $query = "Select * from poker_pay_out as e where e.id=" . $id;
    $pokerPayOutLocal = consultar($query);
    
    $query = "DELETE FROM poker_pay_out WHERE id=" . $id . " LIMIT 1;";
    if (ejecutar($query)) {
        listarByTorneoId($pokerPayOutLocal[0]['poker_torneo_id']);
    } else {
        echo "Error: No se puede Eliminar este registro";
    }
}

//EDITAR
function editar($id) {
    $query = "Select * from poker_pay_out as e where e.id=" . $id;
    $pokerPayOut = consultar($query);
    require_once '../view/pokerPayOut/FormPokerPayOut.php';
}

accion_controller();
